<?php

namespace app\command;

use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use support\Redis;

class DnStatusCommand extends Command
{
    protected static $defaultName = 'dn:status';

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        // 获取可用分机号数量
        $availableCount = Redis::sCard('dn_pool_set');

        // 获取已绑定分机号数量
        $bindingCount = Redis::zCard('dn_bind_zset');

        // 可用分机号示例（随机取10个）
        $examples = [];
        if ($availableCount > 0) {
            // Redis Set没有直接的限制返回数量命令，只能用sRandMember获取若干随机元素
            $examples = Redis::sRandMember('dn_pool_set', 10);
        }

        $output->writeln("当前可用分机号数量：$availableCount");
        $output->writeln("当前已绑定分机号数量：$bindingCount");

        if (!empty($examples)) {
            $output->writeln("可用分机号示例：");
            $output->writeln(implode(', ', $examples));
        } else {
            $output->writeln("无可用分机号");
        }

        return self::SUCCESS;
    }
}
